<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 内置构造函数：Date Array String  Object ...RegExp
      // Promise是内置类：使用的时候需要实例化

      // 是promise对象的三种状态；
      // 一、默认状态：pendding 等待状态；
      /*
         1.状态：[[PromiseState]] ： pendding 状态
         2. 结果值：[[PromiseResult]] ：undefined
      */

      // 二、成功状态：promise执行成功了，fulfilled 状态，当调用resolve函数的时候会出现
      /*
        1.状态：[[PromiseState]]:fulfilled 状态
        2.结果值：[[PromiseResult]] :是调用 resolve的时候传的参数
      */

      // 三、失败状态：promise执行失败了，rejected状态，当调取reject的时候会出现
      // 会抛出一个错误
      /*
        1.状态[[PromiseState]]:reject 状态
        2.结果值：[[PromiseResult]]:是调用reject的时候传的参数
    */

      let P = new Promise((resolve, reject) => {
        // 回调函数里有2个形参；
        // setTimeout(() => {
        //   reject("错误");
        // }, 1000);

        setTimeout(() => {
          console.log("执行了");
          resolve("success");
        }, 1000);
      });

      P.mystatus = "hello";
      console.log(P);
    </script>
  </body>
</html>
